package com.xxwy.lintcodes;

import com.xxwy.Twopoints;

/**
 * @author xxwy
 * 给定一个已经 按升序排列 的数组，找到两个数使他们加起来的和等于特定数。
函数应该返回这两个数的下标，index1必须小于index2。注意返回的值不是 0-based。
 */
@Twopoints
public class Num608 {
    public int[] twoSum(int[] nums, int target) {
        // write your code here
        int l = 0;
        int r = nums.length - 1;
        while (l < r) {
            int sum = nums[l] + nums[r];
            if (sum < target) {
                l++;
            } else if (sum > target) {
                r--;
            } else {
                return new int[]{l+1, r+1};
            }
        }
        return null;
    }
}
